package lambda.string;
/**
 * StringBuilder是专门为了修改字符串内容的API
 * 内部维护一个可变的char数组，并且提供了修改字符串的相关操作:增删改插
 */
public class StringBuilderDemo {
    /*
    append:追加操作
    将给定内容追加到字符串末尾
     */
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("好好学习java");
//        sb.append(",为了找个好的工作");
//        System.out.println(sb);
//        String str=sb.toString();
//        System.out.println(str);
//        /*
//        replace:替换操作
//        好好学习java,就是为了找到好工作
//                V
//        好好学习Java,就是为了改变世界
//         */
//        sb.replace(9,17,"就是为了改变世界");
//        System.out.println(sb);
//        /*
//        delete:删除操作
//        好好学习Java,就是为了改变世界
//        V
//        ,就是为了改变世界
//         */
//        sb.delete(0,8);
//        System.out.println(sb);
//        /*
//        insert:插入操作
//        ,就是为了改变世界
//        V
//        活着,就是为了改变世界
//         */
//        sb.insert(0,"活着");
//        System.out.println(sb);
        /*
            增删改插操作的返回值就是StringBuilder自身(this)
            这样我们可以连续打"."调用操作
         */
        sb.append(",为了找个好工作")
                .replace(9,16,"就是为了改变世界")
                .delete(0,8)
                .insert(0,"活着");
                System.out.println(sb);


        //reverse:反转操作
        sb.reverse();
        System.out.println(sb);

    }

}
